home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1992 June: ROMin Holiday / ADC Developer CD (1992-06) (''ROMin Holiday'')_iso / Developer Connection - 06-1992.iso / Developer Essentials / MPW Interfaces & Libraries / PInterfaces / EPPC.p < prev    next >
Encoding:
Text File  |  1992-01-29  |  3.0 KB  |  130 lines  |  [TEXT/MPS ]

  1.  
  2. {
  3. Created: Sunday, September 15, 1991 at 10:24 PM
  4.  EPPC.p
  5.  Pascal Interface to the Macintosh Libraries
  6.  
  7.   Copyright Apple Computer, Inc. 1988-1991
  8.   All rights reserved
  9. }
  10.  
  11.  
  12. {$IFC UNDEFINED UsingIncludes}
  13. {$SETC UsingIncludes := 0}
  14. {$ENDC}
  15.  
  16. {$IFC NOT UsingIncludes}
  17.  UNIT EPPC;
  18.  INTERFACE
  19. {$ENDC}
  20.  
  21. {$IFC UNDEFINED UsingEPPC}
  22. {$SETC UsingEPPC := 1}
  23.  
  24. {$I+}
  25. {$SETC EPPCIncludes := UsingIncludes}
  26. {$SETC UsingIncludes := 1}
  27. {$IFC UNDEFINED UsingPPCToolbox}
  28. {$I $$Shell(PInterfaces)PPCToolbox.p}
  29. {$ENDC}
  30. {$IFC UNDEFINED UsingProcesses}
  31. {$I $$Shell(PInterfaces)Processes.p}
  32. {$ENDC}
  33. {$IFC UNDEFINED UsingEvents}
  34. {$I $$Shell(PInterfaces)Events.p}
  35. {$ENDC}
  36. {$SETC UsingIncludes := EPPCIncludes}
  37.  
  38. CONST
  39. kHighLevelEvent = 23;
  40.  
  41. { postOptions currently supported }
  42. receiverIDMask = $0000F000;
  43. receiverIDisPSN = $00008000;
  44. receiverIDisSignature = $00007000;
  45. receiverIDisSessionID = $00006000;
  46. receiverIDisTargetID = $00005000;
  47.  
  48. systemOptionsMask = $00000F00;
  49. nReturnReceipt = $00000200;
  50.  
  51. priorityMask = $000000FF;
  52. nAttnMsg = $00000001;
  53.  
  54.  
  55. { error returns from Post and Accept }
  56.  
  57. bufferIsSmall = -607;
  58. noOutstandingHLE = -608;
  59. connectionInvalid = -609;
  60. noUserInteractionAllowed = -610;        { no user interaction allowed }
  61.  
  62. { constant for return receipts }
  63.  
  64. HighLevelEventMsgClass = 'jaym';
  65. rtrnReceiptMsgID = 'rtrn';
  66. msgWasPartiallyAccepted = 2;
  67. msgWasFullyAccepted = 1;
  68. msgWasNotAccepted = 0;
  69.  
  70. TYPE
  71. TargetIDPtr = ^TargetID;
  72. TargetIDHdl = ^TargetIDPtr;
  73. TargetID = RECORD
  74.  sessionID: LONGINT;
  75.  name: PPCPortRec;
  76.  location: LocationNameRec;
  77.  recvrName: PPCPortRec;
  78.  END;
  79.  
  80.  
  81. SenderID = TargetID;
  82. SenderIDPtr = ^SenderID;
  83.  
  84. HighLevelEventMsgPtr = ^HighLevelEventMsg;
  85. HighLevelEventMsgHdl = ^HighLevelEventMsgPtr;
  86. HighLevelEventMsg = RECORD
  87.  HighLevelEventMsgHeaderLength: INTEGER;
  88.  version: INTEGER;
  89.  reserved1: LONGINT;
  90.  theMsgEvent: EventRecord;
  91.  userRefcon: LONGINT;
  92.  postingOptions: LONGINT;
  93.  msgLength: LONGINT;
  94.  END;
  95.  
  96.  
  97. FUNCTION PostHighLevelEvent(theEvent: EventRecord;
  98.                             receiverID: Ptr;
  99.                             msgRefcon: LONGINT;
  100.                             msgBuff: Ptr;
  101.                             msgLen: LONGINT;
  102.                             postingOptions: LONGINT): OSErr;
  103.  INLINE $3F3C,$0034,$A88F;
  104. FUNCTION AcceptHighLevelEvent(VAR sender: TargetID;
  105.                               VAR msgRefcon: LONGINT;
  106.                               msgBuff: Ptr;
  107.                               VAR msgLen: LONGINT): OSErr;
  108.  INLINE $3F3C,$0033,$A88F;
  109. FUNCTION GetProcessSerialNumberFromPortName(portName: PPCPortRec;VAR PSN: ProcessSerialNumber): OSErr;
  110.  INLINE $3F3C,$0035,$A88F;
  111. FUNCTION GetPortNameFromProcessSerialNumber(VAR portName: PPCPortRec;PSN: ProcessSerialNumber): OSErr;
  112.  INLINE $3F3C,$0046,$A88F;
  113.  
  114. TYPE
  115. GetSpecificFilterProcPtr = ProcPtr;        { FUNCTION MyFilter(yourDataPtr: Ptr;    }
  116.                                         {     msgBuff: HighLevelEventMsgPtr; }
  117.                                         {     sender: TargetID): Boolean;  }
  118.  
  119. FUNCTION GetSpecificHighLevelEvent(aFilter: GetSpecificFilterProcPtr;yourDataPtr: UNIV Ptr;
  120.  VAR err: OSErr): BOOLEAN;
  121.  INLINE $3F3C,$0045,$A88F;
  122.  
  123.  
  124. {$ENDC} { UsingEPPC }
  125.  
  126. {$IFC NOT UsingIncludes}
  127.  END.
  128. {$ENDC}
  129.  
  130.